package com.yudean.esb.domain.esb;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

/**
 * @author : DL<duanlei@gdyd.com>
 * @version : 1.0
 */
public class EsbServiceConfig implements Serializable {
    private static final long serialVersionUID = 6133759112640272420L;
    private String ID;
    private String serviceID;
    private String serviceDesc;
    private String beanName;
    private String implClass;
    private String dataSourceID;
    private String tbName;
    private String enableFlag;
    private Date createTime;
    private Date updateTime;

    public String getID() {
        return ID;
    }

    public void setID(String ID) {
        this.ID = ID;
    }

    public String getServiceID() {
        return serviceID;
    }

    public void setServiceID(String serviceID) {
        this.serviceID = serviceID;
    }

    public String getServiceDesc() {
        return serviceDesc;
    }

    public void setServiceDesc(String serviceDesc) {
        this.serviceDesc = serviceDesc;
    }

    public String getBeanName() {
        return beanName;
    }

    public void setBeanName(String beanName) {
        this.beanName = beanName;
    }

    public String getImplClass() {
        return implClass;
    }

    public void setImplClass(String implClass) {
        this.implClass = implClass;
    }

    public String getDataSourceID() {
        return dataSourceID;
    }

    public void setDataSourceID(String dataSourceID) {
        this.dataSourceID = dataSourceID;
    }

    public String getTbName() {
        return tbName;
    }

    public void setTbName(String tbName) {
        this.tbName = tbName;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getEnableFlag() {
        return enableFlag;
    }

    public void setEnableFlag(String enableFlag) {
        this.enableFlag = enableFlag;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof EsbServiceConfig)) return false;

        EsbServiceConfig that = (EsbServiceConfig) o;

        if (!ID.equals(that.ID)) return false;
        if (!Objects.equals(beanName, that.beanName)) return false;
        if (!Objects.equals(createTime, that.createTime)) return false;
        if (!dataSourceID.equals(that.dataSourceID)) return false;
        if (!Objects.equals(implClass, that.implClass)) return false;
        if (!Objects.equals(serviceDesc, that.serviceDesc)) return false;
        if (!serviceID.equals(that.serviceID)) return false;
        if (!Objects.equals(tbName, that.tbName)) return false;
        if (!Objects.equals(enableFlag, that.enableFlag)) return false;
        if (!Objects.equals(updateTime, that.updateTime)) return false;

        return true;
    }

    @Override
    public int hashCode() {
        int result = ID.hashCode();
        result = 31 * result + serviceID.hashCode();
        result = 31 * result + (serviceDesc != null ? serviceDesc.hashCode() : 0);
        result = 31 * result + (beanName != null ? beanName.hashCode() : 0);
        result = 31 * result + (implClass != null ? implClass.hashCode() : 0);
        result = 31 * result + dataSourceID.hashCode();
        result = 31 * result + (tbName != null ? tbName.hashCode() : 0);
        result = 31 * result + (enableFlag != null ? enableFlag.hashCode() : 0);
        result = 31 * result + (createTime != null ? createTime.hashCode() : 0);
        result = 31 * result + (updateTime != null ? updateTime.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "EsbServiceConfig{" +
                "ID='" + ID + '\'' +
                ", serviceID='" + serviceID + '\'' +
                ", serviceDesc='" + serviceDesc + '\'' +
                ", beanName='" + beanName + '\'' +
                ", implClass='" + implClass + '\'' +
                ", dataSourceID='" + dataSourceID + '\'' +
                ", tbName='" + tbName + '\'' +
                ", enableFlag='" + enableFlag + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                '}';
    }
}
